use std::collections::HashSet; // 导入 HashSet 模块

pub fn new_count_distinct(input_str: &str) -> usize {
    /*
    计算给定逗号分隔字符串中的不重复元素数量

    参数:
    input_str (&str): 包含逗号分隔元素的字符串

    返回:
    usize: 不重复元素的数量
    */

    // 将输入字符串按逗号分割成一个向量
    let elements: Vec<&str> = input_str.split(',').collect();

    // 创建一个空的 HashSet，用于存储不重复的元素
    let mut unique_elements: HashSet<&str> = HashSet::new();

    // 遍历每个元素
    for element in elements {
        // 将元素添加到 HashSet 中
        // 由于 HashSet 不允许重复值，所以只有第一次遇到的元素会被添加
        unique_elements.insert(element.trim()); // trim() 方法移除字符串首尾的空白字符
    }

    // 返回 HashSet 中的元素数量，即不重复元素的数量
    unique_elements.len()
}
